package com.ytjj.qmyx.admin.service.channelProductService;


import com.ytjj.common.api.CommonPage;
import com.ytjj.qmyx.admin.model.request.FreigRequest;
import com.ytjj.qmyx.admin.model.request.YxAssignFreight;
import com.ytjj.qmyx.admin.model.request.YxAstrictRegion;
import com.ytjj.qmyx.admin.model.request.YxFreightTemplate;
import com.ytjj.qmyx.admin.model.response.goods.FreightTemplateResponse;

/**
 * 运费模板表
 *
 *
 * @email 
 * 
 */
public interface FreightTemplateService{


    Integer insertFreightTemplate(YxFreightTemplate yxFreightTemplate);

    Integer deleteFreightTemplate(Integer id);

    Integer deleteAssignFreight(Integer id);

    Integer deleteAstrictRegion(Integer id);

    Integer updateAssignFreight(YxAssignFreight yxAssignFreight);

    Integer updateAstrictRegion(YxAstrictRegion yxAstrictRegion);

    Integer updateFreightTemplate(YxFreightTemplate yxFreightTemplate);

    Integer updateDefaults(Integer id,String platformData);

    FreightTemplateResponse  selectFreightTemplateResponse(Integer id);

    FreightTemplateResponse selectBySupplyTemplateIdAndPlatformData(Integer supplyTemplateId,String platformData, Integer freightType);

    void syncYxFreightTemplate();

    CommonPage selectFreightTemplatePage(FreigRequest freigRequest);

    FreightTemplateResponse selectYxFreightTemplateByProductId(Integer id);

    FreightTemplateResponse selectChainFreightTemplateByProductId(Integer productId);

    FreightTemplateResponse selectDefaultFreightTemplate(String platformData);

    void syncYxAstricRegion();

}

